﻿<?xml version="1.0" encoding="utf-8"?>
<DataObjectSupport xmlns="http://schemas.microsoft.com/VisualStudio/2007/07/Data/DataObjectSupport">
	<!-- Data source specific object types -->
	<Types>
		<RootType>
			<Properties>
				<Property name="Name" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.DataSourceSelector" />
			</Services>
		</RootType>
		<Type name="Tables"
			  preferredOrdering="TableName">
			<Identifier>
				<Part name="TableName" />
			</Identifier>
			<Properties>
				<Property name="TableName"
						  isIdentifierPart="true" />
				<Property name="Comment" />
				<Property name="DeleteTrigger" />
				<Property name="InsertTrigger" />
				<Property name="Path" />
				<Property name="PrimaryKey" />
				<Property name="RuleExpression" />
				<Property name="RuleText" />
				<Property name="UpdateTrigger" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<!-- Top level parameters add nodes under the root node -->
						<Parameter>
							<!-- The node name (typically name of the object) -->
							<Parameter value="{2}" />
							<!-- The node owner (typically schema of the object) -->
							<Parameter value="{1}" />
							<!-- The node type (from the __DSREFTYPE enumeration) -->
							<Parameter value="Table" />
							<!-- The node extended type (not used very often) -->
							<Parameter />
							<!-- The node properties, identified by specific GUIDs -->
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="101"
											   type="System.Int32" />
									<!-- Table -->
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="TableFields"
			  preferredOrdering="FieldName">
			<Identifier>
				<Part name="TableName" />
				<Part name="FieldName" />
			</Identifier>
			<Properties>
				<Property name="FieldName"
						  isIdentifierPart="true" />
				<Property name="VfpTypeName" />
				<Property name="Width"
						  type="System.Int32" />
				<Property name="Decimal"
						  type="System.Int32" />
				<Property name="Ordinal"
						  type="System.Int32" />
				<Property name="Nullable"
						  type="System.Boolean"/>
				<Property name="Caption" />
				<Property name="Comment" />
				<Property name="DefaultValue" />
				<Property name="DisplayClass" />
				<Property name="DisplayClassLibrary" />
				<Property name="Format" />
				<Property name="InputMask" />
				<Property name="RuleExpression" />
				<Property name="RuleText" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<Parameter>
							<Parameter value="{2}" />
							<Parameter value="{1}" />
							<Parameter value="Table" />
							<Parameter />
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="101"
											   type="System.Int32" />
									<!-- Table -->
								</Parameter>
							</Parameter>
							<!-- This parameter specifies child nodes -->
							<Parameter>
								<Parameter>
									<Parameter value="{3}" />
									<Parameter />
									<Parameter value="Field" />
									<Parameter />
									<Parameter>
										<!-- GUID_DSRefProperty_PreciseType -->
										<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
											<Parameter value="102"
													   type="System.Int32" />
											<!-- Table_Column -->
										</Parameter>
									</Parameter>
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="Indexes"
			  preferredOrdering="TableName, IndexName">
			<Identifier>
				<Part name="TableName" />
				<Part name="IndexName" />
			</Identifier>
			<Properties>
				<Property name="IndexName"
						  isIdentifierPart="true" />
				<Property name="Unique"
						  type="System.Boolean" />
				<Property name="PrimaryKey"
						  type="System.Boolean" />
				<Property name="Ordinal"
						  type="System.Int64" />
				<Property name="TableName"
						  isIdentifierPart="true" />
				<Property name="FieldName" />
				<Property name="Expression" />
				<Property name="AutoInc"
						  type="System.Boolean" />
				<Property name="Candidate"
						  type="System.Boolean" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<Parameter>
							<Parameter value="{2}" />
							<Parameter value="{1}" />
							<Parameter value="Table" />
							<Parameter />
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="101"
											   type="System.Int32" />
									<!-- Table -->
								</Parameter>
							</Parameter>
							<Parameter>
								<Parameter>
									<Parameter value="{3}" />
									<Parameter />
									<Parameter value="Index" />
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="IndexeColumns"
			  preferredOrdering="TableName, IndexName">
			<Identifier>
				<Part name="TableName" />
				<Part name="IndexName" />
				<Part name="FieldName" />
			</Identifier>
			<Properties>
				<Property name="IndexName"
						  isIdentifierPart="true" />
				<Property name="Unique"
						  type="System.Boolean" />
				<Property name="PrimaryKey"
						  type="System.Boolean" />
				<Property name="Ordinal"
						  type="System.Int64" />
				<Property name="TableName"
						  isIdentifierPart="true" />
				<Property name="FieldName"
						  isIdentifierPart="true"/>
				<Property name="Expression" />
				<Property name="AutoInc"
						  type="System.Boolean" />
				<Property name="Candidate"
						  type="System.Boolean" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector">
					<Parameters method="SelectObjects">
						<Parameter value="Indexes" />
					</Parameters>
				</Service>
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<Parameter>
							<Parameter value="{2}" />
							<Parameter value="{1}" />
							<Parameter value="Table" />
							<Parameter />
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="101"
											   type="System.Int32" />
									<!-- Table -->
								</Parameter>
							</Parameter>
							<Parameter>
								<Parameter>
									<Parameter value="{3}" />
									<Parameter />
									<Parameter value="Index" />
									<Parameter />
									<Parameter />
									<Parameter>
										<Parameter>
											<Parameter value="{4}" />
											<Parameter />
											<Parameter value="Field" />
										</Parameter>
									</Parameter>
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="ForeignKeys"
			  preferredOrdering="ForeignKeyName">
			<Identifier>
				<Part name="ForeignKeyName" />
				<Part name="FkTableName" />
				<Part name="FkFieldName" />
			</Identifier>
			<Properties>
				<Property name="ForeignKeyName"
						  isIdentifierPart="true" />
				<Property name="FkTableName"
						  isIdentifierPart="true" />
				<Property name="FkFieldName"
						  isIdentifierPart="true" />
				<Property name="FkIndexName" />
				<Property name="PkTableName" />
				<Property name="PkFieldName" />
				<Property name="PkIndexName" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
			</Services>
		</Type>
		<Type name="ForeignKeyColumns"
			  preferredOrdering="ForeignKeyName">
			<Identifier>
				<Part name="FkTableName" />
				<Part name="FkFieldName" />
			</Identifier>
			<Properties>
				<Property name="FkTableName"
						  isIdentifierPart="true" />
				<Property name="FkFieldName"
						  isIdentifierPart="true" />
				<Property name="PkTableName" />
				<Property name="PkFieldName" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector">
					<Parameters method="SelectObjects">
						<Parameter value="ForeignKeys" />
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="Views"
			  preferredOrdering="ViewName">
			<Identifier>
				<Part name="ViewName" />
			</Identifier>
			<Properties>
				<Property name="ViewName"
						  isIdentifierPart="true" />
				<Property name="AllowSimultaneousFetch"
						  type="System.Boolean" />
				<Property name="BatchUpdateCount"
						  type="System.Int32" />
				<Property name="Comment" />
				<Property name="CompareMemo"
						  type="System.Boolean" />
				<Property name="ConnectName" />
				<Property name="FetchAsNeeded"
						  type="System.Boolean" />
				<Property name="FetchMemo"
						  type="System.Boolean" />
				<Property name="FetchSize"
						  type="System.Int32" />
				<Property name="MaxRecords"
						  type="System.Int32" />
				<Property name="Offline"
						  type="System.Boolean" />
				<Property name="ParameterList" />
				<Property name="Prepared"
						  type="System.Boolean" />
				<Property name="RuleExpression" />
				<Property name="RuleText" />
				<Property name="SendUpdates"
						  type="System.Boolean" />
				<Property name="ShareConnection"
						  type="System.Boolean" />
				<Property name="SourceType"
						  type="System.Int32" />
				<Property name="SQL" />
				<Property name="Tables" />
				<Property name="UpdateType"
						  type="System.Int32" />
				<Property name="UseMemoSize"
						  type="System.Int32" />
				<Property name="WhereType"
						  type="System.Int32" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<Parameter>
							<Parameter value="{2}" />
							<Parameter value="{1}" />
							<Parameter value="View" />
							<Parameter />
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="301"
											   type="System.Int32" />
									<!-- View -->
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="ViewFields"
			  preferredOrdering="FieldName">
			<Identifier>
				<Part name="ViewName" />
				<Part name="FieldName" />
			</Identifier>
			<Properties>
				<Property name="FieldName"
						  isIdentifierPart="true" />
				<Property name="VfpTypeName" />
				<Property name="Width"
						  type="System.Int32" />
				<Property name="Decimal"
						  type="System.Int32" />
				<Property name="Ordinal"
						  type="System.Int32" />
				<Property name="Nullable"
						  type="System.Boolean"/>
				<Property name="Caption" />
				<Property name="Comment" />
				<Property name="DefaultValue" />
				<Property name="DisplayClass" />
				<Property name="DisplayClassLibrary" />
				<Property name="KeyField" />
				<Property name="RuleExpression" />
				<Property name="RuleText" />
				<Property name="Updatable" />
				<Property name="UpdateName" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<Parameter>
							<Parameter value="{2}" />
							<Parameter value="{1}" />
							<Parameter value="View" />
							<Parameter />
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="301"
											   type="System.Int32" />
									<!-- View -->
								</Parameter>
							</Parameter>
							<Parameter>
								<Parameter>
									<Parameter value="{3}" />
									<Parameter />
									<Parameter value="Field" />
									<Parameter />
									<Parameter>
										<!-- GUID_DSRefProperty_PreciseType -->
										<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
											<Parameter value="302"
													   type="System.Int32" />
											<!-- View_Column -->
										</Parameter>
									</Parameter>
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="Procedures"
			  preferredOrdering="ProcedureName">
			<Identifier>
				<Part name="ProcedureName" />
			</Identifier>
			<Properties>
				<Property name="ProcedureName"
						  isIdentifierPart="true" />
				<Property name="Description" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<Parameter>
							<Parameter value="{2}" />
							<Parameter value="{1}" />
							<Parameter value="StoredProcedure" />
							<Parameter />
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="401"
											   type="System.Int32" />
									<!-- Procedure -->
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="ProcedureParameters"
			  preferredOrdering="ParameterName">
			<Identifier>
				<Part name="ProcedureName" />
				<Part name="ParameterName" />
			</Identifier>
			<Properties>
				<Property name="ParameterName"
						  isIdentifierPart="true" />
				<Property name="VfpTypeName" />
				<Property name="Ordinal"
						  type="System.Int32" />
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<Parameter>
							<Parameter value="{2}" />
							<Parameter value="{1}" />
							<Parameter value="StoredProcedure" />
							<Parameter />
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="401"
											   type="System.Int32" />
									<!-- Table -->
								</Parameter>
							</Parameter>
							<!-- This parameter specifies child nodes -->
							<Parameter>
								<Parameter>
									<Parameter value="{3}" />
									<Parameter />
									<Parameter value="Field" />
									<Parameter />
									<Parameter>
										<!-- GUID_DSRefProperty_PreciseType -->
										<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
											<Parameter value="402"
													   type="System.Int32" />
											<!-- Table_Column -->
										</Parameter>
									</Parameter>
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
		<Type name="ProcedureColumns"
			  preferredOrdering="FieldName">
			<Identifier>
				<Part name="ProcedureName" />
				<Part name="FieldName" />
			</Identifier>
			<Properties>
				<Property name="FieldName"
						  isIdentifierPart="true" />
				<Property name="VfpTypeName" />
				<Property name="Width"
						  type="System.Int32" />
				<Property name="Decimal"
						  type="System.Int32" />
				<Property name="Ordinal"
						  type="System.Int32" />
				<Property name="Nullable"
						  type="System.Boolean"/>
			</Properties>
			<Services>
				<Service type="IVsDataObjectSelector"
						 implementationType="VfpClient.Design.SchemaSelector" />
				<Service type="IDSRefBuilder"
						 implementationType="VfpClient.Design.VfpDSRefBuilder">
					<Parameters method="AppendToDSRef">
						<Parameter>
							<Parameter value="{2}" />
							<Parameter value="{1}" />
							<Parameter value="StoredProcedure" />
							<Parameter />
							<Parameter>
								<!-- GUID_DSRefProperty_PreciseType -->
								<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
									<Parameter value="401"
											   type="System.Int32" />
									<!-- Table -->
								</Parameter>
							</Parameter>
							<!-- This parameter specifies child nodes -->
							<Parameter>
								<Parameter>
									<Parameter value="{3}" />
									<Parameter />
									<Parameter value="Field" />
									<Parameter />
									<Parameter>
										<!-- GUID_DSRefProperty_PreciseType -->
										<Parameter value="39A5A7E7-513F-44a4-B79D-7652CD8962D9">
											<Parameter value="404"
													   type="System.Int32" />
											<!-- Table_Column -->
										</Parameter>
									</Parameter>
								</Parameter>
							</Parameter>
						</Parameter>
					</Parameters>
				</Service>
			</Services>
		</Type>
	</Types>
	<!-- Mapped object types -->
	<MappedTypes>
		<!-- Microsoft.VisualStudio.Data.Services.RelationalObjectModel.IVsDataTable -->
		<MappedType name="Table"
					underlyingType="Tables">
			<Selection restrictions="{Name}" />
			<Identifier>
				<Part name="Name"
					  underlyingMember="TableName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true"
						  underlyingMember="TableName" />
			</Properties>
		</MappedType>
		<!-- Microsoft.VisualStudio.Data.Services.RelationalObjectModel.IVsDataTableColumn -->
		<MappedType name="TableColumn"
					underlyingType="TableFields">
			<Selection restrictions="{Table},{Name}" />
			<Identifier>
				<Part name="Table"
					  underlyingMember="TableName" />
				<Part name="Name"
					  underlyingMember="FieldName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true"
						  underlyingMember="FieldName" />
				<Property name="Ordinal" />
				<Property name="IsNullable"
						  underlyingMember="Nullable" />
				<Property name="UserDataType"
						  underlyingMembers="VfpTypeName, Width, Decimal">
					<Conversion>
						<CallMapper />
					</Conversion>
				</Property>
				<Property name="NativeDataType"
						  underlyingMember="VfpTypeName" />
				<Property name="AdoDotNetDataType"
						  underlyingMember="VfpTypeName">
					<Conversion>
						<CallMapper />
					</Conversion>
				</Property>
				<Property name="AdoDotNetDbType"
						  underlyingMember="VfpTypeName">
					<Conversion>
						<CallMapper />
					</Conversion>
				</Property>
				<Property name="FrameworkDataType"
						  underlyingMember="VfpTypeName">
					<Conversion>
						<CallMapper />
					</Conversion>
				</Property>
				<Property name="Length"
						  underlyingMember="Width" />
				<Property name="Precision"
						  underlyingMember="Width" />
				<Property name="Scale"
						  underlyingMember="Decimal" />
			</Properties>
		</MappedType>

		<MappedType name="TableIndex"
					underlyingType="Indexes">
			<Selection restrictions="{Table},{Name}" />
			<Identifier>
				<Part name="Table"
					  underlyingMember="TableName" />
				<Part name="Name"
					  underlyingMember="IndexName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true"
						  underlyingMember="IndexName" />
				<Property name="IsPrimary"
						  underlyingMember="PrimaryKey" />
			</Properties>
		</MappedType>

		<MappedType name="TableIndexColumn"
					underlyingType="Indexes">
			<Selection restrictions="{Table},{Index},{Name}"  />
			<Identifier>
				<Part name="Table"
					  underlyingMember="TableName" />
				<Part name="Index"
					  underlyingMember="IndexName" />
				<Part name="Name"
					  underlyingMember="FieldName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true"
						  underlyingMember="FieldName" />
				<Property name="Ordinal"
						  underlyingMember="Ordinal" />
			</Properties>
		</MappedType>

		<MappedType name="TableUniqueKey"
					underlyingType="Indexes">
			<Selection restrictions="{Table},{Name}"
					   filter="Unique = true" />
			<Identifier>
				<Part name="Table"
					  underlyingMember="TableName" />
				<Part name="Name"
					  underlyingMember="IndexName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true"
						  underlyingMember="IndexName" />
				<Property name="IsPrimary"
						  underlyingMember="PrimaryKey" />
			</Properties>
		</MappedType>

		<MappedType name="TableUniqueKeyColumn"
					underlyingType="Indexes">
			<Selection restrictions="{Table},{TableUniqueKey},{Name}"  />
			<Identifier>
				<Part name="Table"
					  underlyingMember="TableName" />
				<Part name="TableUniqueKey"
					  underlyingMember="IndexName" />
				<Part name="Name"
					  underlyingMember="FieldName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true"
						  underlyingMember="FieldName" />
				<Property name="Ordinal"
						  underlyingMember="Ordinal">
					<Conversion>
						<ChangeType type="System.Int32" />
					</Conversion>
				</Property>
			</Properties>
		</MappedType>
		<MappedType name="TableForeignKey"
					underlyingType="ForeignKeys">
			<Selection restrictions="{Table},{Name}" />
			<Identifier>
				<Part name="Table"
					  underlyingMember="FkTableName" />
				<Part name="Name"
					  underlyingMember="ForeignKeyName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  underlyingMember="ForeignKeyName"
						  isIdentifierPart="true" />
				<!--<Property name="ReferencedTableId0"
						  underlyingMember="Database" />
				<Property name="ReferencedTableId1"
						  underlyingMember="ReferencedTableSchema" />
				<Property name="ReferencedTableId2"
						  underlyingMember="ReferencedTable" />
				<Property name="ReferencedTableCatalog"
						  underlyingMember="Database" />
				<Property name="ReferencedTableSchema"
						  underlyingMember="ReferencedTableSchema" />
				<Property name="ReferencedTableName"
						  underlyingMember="ReferencedTable" />
				<Property name="ReferencedTableUniqueKey"
						  underlyingMember="ReferencedKey" />
				<Property name="UpdateAction"
						  underlyingMember="UpdateAction">
					<Conversion>
						<ChangeType type="System.Int32" />
					</Conversion>
				</Property>
				<Property name="DeleteAction"
						  underlyingMember="DeleteAction">
					<Conversion>
						<ChangeType type="System.Int32" />
					</Conversion>
				</Property>-->
			</Properties>
		</MappedType>
		<MappedType name="TableForeignKeyColumn"
					underlyingType="ForeignKeys">
			<Selection restrictions="{Table},{ForeignKey},{Name}" />
			<Identifier>
				<Part name="Table"
					  underlyingMember="FkTableName" />
				<Part name="ForeignKey"
					  underlyingMember="ForeignKeyName" />
				<Part name="Name"
					  underlyingMember="FkFieldName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true" />
			</Properties>
		</MappedType>
		<MappedType name="View"
					underlyingType="Views">
			<Selection restrictions="{Name}" />
			<Identifier>
				<Part name="Name"
					  underlyingMember="ViewName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true"
						  underlyingMember="ViewName" />
			</Properties>
		</MappedType>
		<!-- Microsoft.VisualStudio.Data.Services.RelationalObjectModel.IVsDataColumn -->
		<MappedType name="ViewColumn"
					underlyingType="ViewFields">
			<Selection restrictions="{View},{Name}" />
			<Identifier>
				<Part name="View"
					  underlyingMember="ViewName" />
				<Part name="Name"
					  underlyingMember="FieldName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true" />
				<Property name="Ordinal"
						  underlyingMember="Ordinal">
					<Conversion>
						<ChangeType type="System.Int32" />
					</Conversion>
				</Property>
			</Properties>
		</MappedType>
		<!-- Microsoft.VisualStudio.Data.Services.RelationalObjectModel.IVsDataStoredProcedure -->
		<MappedType name="StoredProcedure"
					underlyingType="Procedures">
			<Selection restrictions="{Name}" />
			<Identifier>
				<Part name="Name"
					  underlyingMember="ProcedureName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true" />
			</Properties>
		</MappedType>
		<!-- Microsoft.VisualStudio.Data.Services.RelationalObjectModel.IVsDataParameter -->
		<MappedType name="StoredProcedureParameter"
					underlyingType="ProcedureParameters">
			<Selection restrictions="{StoredProcedure},{Name}" />
			<Identifier>
				<Part name="StoredProcedure"
					  underlyingMember="ProcedureName" />
				<Part name="Name"
					  underlyingMember="ParameterName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true" />
				<Property name="NativeDataType"
						  underlyingMember="VfpTypeName" />
				<Property name="AdoDotNetDataType"
						  underlyingMember="VfpTypeName">
					<Conversion>
						<CallMapper />
					</Conversion>
				</Property>
				<Property name="AdoDotNetDbType"
						  underlyingMember="VfpTypeName">
					<Conversion>
						<CallMapper />
					</Conversion>
				</Property>
				<Property name="FrameworkDataType"
						  underlyingMember="VfpTypeName">
					<Conversion>
						<CallMapper />
					</Conversion>
				</Property>
				<Property name="Ordinal">
					<Conversion>
						<ChangeType type="System.Int32" />
					</Conversion>
				</Property>
				<Property name="Direction"
						  underlyingMembers="ParameterName">
					<Conversion>
						<Calculate expr="'IN'"
								   exprType="System.String" />
					</Conversion>
				</Property>
			</Properties>
		</MappedType>
		<MappedType name="StoredProcedureColumn"
					underlyingType="ProcedureColumns">
			<Selection restrictions="{StoredProcedure},{Name}" />
			<Identifier>
				<Part name="StoredProcedure"
					  underlyingMember="ProcedureName" />
				<Part name="Name"
					  underlyingMember="FieldName" />
			</Identifier>
			<Properties>
				<Property name="Name"
						  isIdentifierPart="true" />
				<Property name="Ordinal"
						  underlyingMember="Ordinal">
					<Conversion>
						<ChangeType type="System.Int32" />
					</Conversion>
				</Property>
				<Property name="Direction"
						  underlyingMembers="FieldName">
					<Conversion>
						<Calculate expr="'IN'"
								   exprType="System.String" />
					</Conversion>
				</Property>
			</Properties>
		</MappedType>
	</MappedTypes>
</DataObjectSupport>
